Inserting Personalized Information into Digital Content

ABSTRACT

Described are methods and apparatuses, including computer program products, for inserting personalized information into digital content. A digital media player receives a personalized video content stream comprising personalized data associated with a user that replaces one or more frames of requested video content. The player extracts the personalized data from the one or more replaced frames of the video content stream, and displays the personalized data and the video content stream to a user.

RELATED APPLICATION

This application is a divisional application of Ser. No. 12/508,503,filed on Jul. 23, 2009.

FIELD OF THE INVENTION

The subject matter of this application relates generally to methods andapparatuses, including computer program products, for insertingpersonalized information into digital content.

BACKGROUND OF THE INVENTION

In recent years, the dissemination and availability of digital videocontent has grown exponentially. The development of recording andproduction technology such as handheld digital video cameras andadvanced editing software, along with the expansion of hosting resourceson the Internet, has allowed both traditional media outlets (e.g.,television networks) and small, “do-it-yourself” content providers tocreate an array of diverse video content. In addition, the consumptionof video content is no longer confined to the home computer ortelevision set. The proliferation of portable media devices like theiPod touch® from Apple® Computer, Inc. and the PSP®, from Sony®Corporation has made digital video content readily available almostanywhere.

Despite the vast number of content choices, very few sources of digitalvideo are customized for the person viewing the content. In order forthe viewer to obtain personalized content (e.g., investment performanceof the user's portfolio, personal credit card transaction summary,etc.), often the user has to connect to a different source—e.g, awebsite requiring discrete authentication in order to access theinformation. This means that the user opens multiple applications and/orswitches back and forth between viewing the video content and thepersonalized information.

The current methods of providing “personalized” digital video contentcan utilize techniques like overlays created with the Adobe Flash familyof products. Instead of inserting the personalized data into the videocontent stream on a frame-by-frame basis, the content provider convertsthe underlying video stream into a Flash application with specializedsoftware, often using dedicated server hardware to execute theconversion. In addition, content files in protocols such as Flashsometimes require specific plug-ins in order to be played back.Availability of these plug-ins for a specific type of device might belimited.

In light of the above, it would be desirous to develop a system andmethod that can provide a fully-integrated stream of digital videocontent and personalized information such that a user can receive thedigital video and the personalized information in one content-viewingexperience. It would also be desirous to develop a system and methodallowing for the distribution of a single video content streamcontaining personalized information for many users but where each useris permitted to view only the personalized information pertaining to himas part of the content stream.

SUMMARY OF THE INVENTION

In one aspect, there is a computerized method for personalizing videocontent. A request for digital video content is received by a computingdevice. The request includes authentication data associated with a userof a client device. Personalized data to be inserted into the requestedvideo content is generated by the computing device. The personalizeddata and the requested video content are combined by the computingdevice. The combining includes replacing one or more frames of therequested video content with the personalized data to generatepersonalized video content.

In another aspect, there is a system for personalizing video content.The system includes a computing device configured to receive a requestfor digital video content. The request includes authentication dataassociated with a user of a client device. Personalized data to beinserted into the requested video content is generated by the computingdevice. The personalized data and the requested video content arecombined by the computing device. The combining includes replacing oneor more frames of the requested video content with the personalized datato generate personalized video content.

In another aspect, there is a system for personalizing video content.The system includes means for receiving a request for digital videocontent. The request includes authentication data associated with a userof a client device. The system includes means for generatingpersonalized data to be inserted into the requested video content. Thesystem includes means for combining the personalized data and therequested video content. The combining includes replacing one or moreframes of the requested video content with the personalized data togenerate personalized video content.

In another aspect, there is a computer program product for personalizingvideo content. The computer program product includes instructionsoperable to cause a data processing apparatus to receive a request fordigital video content. The request includes authentication dataassociated with a user of a client device. Personalized data to beinserted into the requested video content is generated by the dataprocessing apparatus. The personalized data and the requested videocontent are combined by the data processing apparatus. The combiningincludes replacing one or more frames of the requested video contentwith the personalized data to generate personalized video content.

In another aspect, there is a computerized method for displayingpersonalized video content. A personalized video content stream isreceived by a digital media player. The personalized video contentstream includes personalized data associated with a user. Thepersonalized data replaces one or more frames of requested videocontent. The personalized data is extracted from the one or morereplaced frames of the video content stream. The personalized data andthe video content stream are displayed to a user.

In another aspect, there is a system for displaying personalized videocontent. The system includes a computing device with a digital mediaplayer configured to receive a personalized video content stream. Thepersonalized video content stream includes personalized data associatedwith a user. The personalized data replaces one or more frames ofrequested video content. The personalized data is extracted from the oneor more replaced frames of the video content stream. The personalizeddata and the video content stream are displayed to a user.

In another aspect, there is a system for displaying personalized videocontent. The system includes means for receiving a personalized videocontent stream. The personalized video content stream includespersonalized data associated with a user. The personalized data replacesone or more frames of requested video content. The system includes meansfor extracting the personalized data from the one or more replacedframes of the video content stream. The system includes means fordisplaying the personalized data and the video content stream to a user.

In another aspect, there is a computer program product for displayingpersonalized video content. The computer program produce includesinstructions operable to cause a data processing apparatus to receive apersonalized video content stream. The personalized video content streamincludes personalized data associated with a user. The personalized datareplaces one or more frames of requested video content. The personalizeddata is extracted from the one or more replaced frames of the videocontent stream by the data processing apparatus. The personalized dataand the video content stream are displayed to a user by the dataprocessing apparatus.

In some examples, any of the aspects can include one or more of thefollowing features. The personalized data does not have to contain anyvideo or audio associated with the requested video content. Thepersonalized data can be unrelated to the requested video content.

The personalized data can be encrypted prior to combination with therequested video content. A portion of the personalized data can beassociated with each of a plurality of different users. The portion ofpersonalized data associated with a single user of the client device canbe extracted by the client device. The portion of personalized data canbe decrypted for display on the client device. The decrypting can bebased on the authentication data associated with the single user.

Extracting the personalized data can include identifying one or moreframes of the video content stream containing the personalized data anddecompressing, decrypting, or both, the personalized data according to aspecialized compression protocol.

The user of the client device can be authenticated based on theauthentication data. The personalized video content can be encryptedbased on the authentication data to allow only the user to access thepersonalized data associated with the user that is included in thepersonalized video content.

The personalized data and the requested video content can share a commoncharacteristic, genre, subject matter, or any combination thereof. Thepersonalized data can be based on a financial portfolio of the user.

The personalized data can be displayed to the user within the boundariesof an area displaying the video content stream. The personalized datacan be displayed in a pop-in window associated with the media player.The personalized data can be displayed to the user outside of theboundaries of an area displaying the video content stream. Thepersonalized data can be displayed in a pop-up window that is separatefrom the media player. The personalized data can be displayed in afly-out window associated with the media player.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of an exemplary system for insertingpersonalized information into digital content.

FIG. 2 is a flow diagram of an exemplary method for insertingpersonalized information into digital content.

FIG. 3 is a diagram of exemplary frame extraction and insertion forinserting personalized information into digital content.

FIG. 4 is a depiction of a media player for display of personalizedvideo content on a client device.

FIG. 5 is a flow diagram of a method for displaying the personalizedvideo content to the user via a media player

FIG. 6 is a block diagram of a system for inserting personalizedinformation of a plurality of different users into digital content.

FIG. 7 is a flow diagram for inserting personalized information of aplurality of different users into digital content.

DETAILED DESCRIPTION

In general overview, the techniques described below includes methods andapparatuses that are for inserting personalized information into digitalcontent. The techniques are related to extracting frames of digitalvideo and/or audio from a video content stream and embedding frames ofpersonalized information into the video stream.

FIG. 1 is a block diagram of an exemplary system 100 for insertingpersonalized information into digital content. The system 100 includes aclient computing device 102, a communications network 104, a servercomputing device 106, a data source 108, and a video server 110. Theserver computing device 106, data source 108, and video server 110 canreside at the same physical location or may be dispersed to multiplephysical locations. The server computing device 106, data source 108,and video server 110 can be integrated into the same physical device.Alternatively, or in addition the server computing device 106, datasource 108, and/or video server 110 can be distributed over manydevices. The server computing device 106, data source 108, and videoserver 110 can communicate via a communications network, e.g.,communications network 104.

The client computing device 102 is the hardware that displays thepersonalized video content to a user. Example computing devices take onmany forms, including but not limited to a personal computer, astandalone video player, a home video game console, a portable videogame system, a personal digital assistant (PDA), an internet appliance,a digital video recorder (DVR), a smart phone, a set-top box, or thelike. The client computing device 102 includes network-interfacecomponents to enable the user to connect to a communications network104, such as the Internet. The computing device 102 also includesdigital content viewing and playback plug-ins or standalone software toenable the user to view both digital content (e.g., video and audio) andpersonalized information received over the communications network 104.The digital content playback software can be customized to play backonly personalized video content received from the server computingdevice 106. Alternatively, the digital video content playback softwarecan play back many different forms of content; such examples includeMicrosoft® Windows Media® Player, Adobe® Flash® Player, QuickTime® fromApple® Computer, Inc., or other similar applications.

The server computing device 106 communicates with the client computingdevice 102 via a communications network, e.g., communications network104. The server computing device 106 receives requests for personalizedvideo content from the client computing device 102. The server computingdevice 106 can generate a personalized video content stream fortransmission to and playback on the client computing device 102.

The communications network 104 channels communications from the clientcomputing device 102 to the server computing device 106 and back. Thenetwork 104 may be a local network, such as a LAN, or a wide areanetwork, such as the Internet or the World Wide Web.

The data source 108 holds personalized information related to the userof the client computing device 102. When the server computing device 106receives a request for video content from the client computing device102, the server 106 can retrieve information from the data source 108pertaining to that user for insertion into the personalized videocontent stream. Although one data source 108 is shown, there can bemultiple data sources in the system 100. The data source 108 need not bea computing device hosting database applications, as in the traditionalsense. In some examples, the data source 108 can be a communication linkto sensors, GPS-enabled mobile devices, or other devices which cantransmit data directly to the server 106 as that data is collected. Inother examples, the data source 108 can be a data feed received fromvarious commercial entities which collect and make the requisite dataavailable for retrieval by the server 106. In still other examples, thedata source 108 is a computing device hosting database applications.

The video server 110 hosts video content for use by the server computingdevice 106. When the server computing device 106 receives a request forvideo content from the client computing device 102, the server 106 canlocate the requested video content on the video server 110 to generatethe personalized video content stream. The video content can take avariety of forms. The video content can be a ‘live’ stream. The videocontent can be a pre-recorded stream or clip. The video content can beshort-form content, i.e., a four-minute music video. The video contentcan be long-form content, i.e., a thirty-minute television program. Insome examples, the video content is a user-submitted amateur video orvideo podcast. In other examples, the video content is a professionaltelevision show, motion picture, webcast, music video or other similarcontent. The video content can be an advertisement (e.g., a commercial)or other promotional content. In some examples, the video content canexist in a standard compression protocol, such as MPEG-2 or MPEG-4.Alternatively, the video content can exist in a customized and/orproprietary compression protocol.

FIG. 2 is a flow diagram of an exemplary method for insertingpersonalized information into digital content. The server computingdevice 106 receives (202) a request for video content from a clientcomputing device 102 associated with a user. The server 106 retrieves(204) personalized information to be inserted into the video contentfrom one or more data sources 108. The server 106 also retrieves (204)the requested video content from the video server 110. The retrievingsteps 204 can be performed in parallel or in any order. The server 106inserts the personalized information into the digital video content togenerate personalized video content by replacing (208) one or moreframes of video content with personalized information. The server 106then transmits (210) the personalized video content to the clientcomputing device 102 for playback to the user.

In some examples, the request sent from the client computing device 102can include authentication data associated with the user and in otherexamples, the authentication data can be received before or after therequest for the video content. The authentication data can comprise ausername, password, personal identification number (PIN), digitalcertificate, pass code, or other similar credentials used to identifythe user. A preferred embodiment, although not required, wouldincorporate two or more of the authentication data types in combinationto identify the user. The server 106 can use the authentication data todetermine whether to retrieve personalized information for the user, andif so, what types and quantity of personalized information to retrieve.In one example, the server 106 can create a secure cookie associatedwith the client device 102 to ensure that the user only has access tohis personalized data. In another example, the user may decline tosupply authentication data as part of the request. As a result, theserver 106 may not retrieve any personalized information and insteadsend the unmodified video content back to the user. In other examples,the server 106 may determine that the user can be authenticated to onlya discrete subset of available data sources (e.g., data source 108) or adiscrete subset of data elements found in one or more data sources. Theserver 106 could then insert personalized information retrieved from thesubset of data sources or data elements, whereas another user whoseauthentication data allows the server 106 full access to all availabledata sources may receive a much broader range of personalizedinformation.

In some examples, the server 106 can receive a request for video contentfrom a client 102 and determine a characteristic associated with thevideo content. In some examples, the request and/or the video contentcan include a ‘tag’ or other embedded indicia that identifies thecharacteristic. In other examples, the server 106 can conduct a speechor text analysis of the video content in order to determine thecharacteristic. The characteristic can be broad in scope (e.g., genre orsubject matter of the video) or the characteristic can be more narrow(e.g., specific persons or companies named in the video). For example,the requested video content may generally discuss recent stock markettrends or the latest corporate mergers. Upon receiving the requestand/or retrieving the requested video content from the video server 110,the server 106 can determine that a characteristic of the video contentis its financial subject matter. In another example, the server 106 canutilize speech recognition techniques to analyze the audio component ofthe video content and conclude that a person in the video is referringto Fidelity Corporation. As a result, the server 106 can determine thata characteristic of the video content is its mention of Fidelity.

In some examples, the server 106 can use the identified characteristicto retrieve personalized information that is both associated with theuser and related to the characteristic in some way. For example, theserver 106 could retrieve a current stock quote of Fidelity Corporationbased on the server's 106 identification of Fidelity as a characteristicof the video content and the server's 106 determination that therequesting user holds shares of one or more Fidelity mutual funds in hisbrokerage account. In other examples, the server 106 could retrieve arecent portfolio transaction summary for the user based on a videocontent characteristic of general investment advice and the server's 106determination that the user has a portfolio with Fidelity Investments.

In other examples, the server 106 does not need to identify acharacteristic of the video content or associate an identifiedcharacteristic with the personalized information. The video content andthe personalized information do not have to contain any similarity insubject matter or any other characteristic. For instance, the server 106can retrieve a recent credit card transaction history for the user fromthe data source 108 upon receiving a request for a recent episode of anational network sitcom.

In determining what types of personalized information to retrieve fromthe data source 108, the server 106 can determine if the user hasspecified any personalized information preferences. In some examples,the preferences can be specified in the request received from the clientcomputing device 102, or the preferences can be part of a user profilestored in a data source 108 and retrieved by the server 106 when a videocontent request is received from that particular user. For example, theuser could specify as a preference that he always wants to see hiscurrent bank account balance when he requests any video content.Thereafter, when the server 106 receives a video content request fromthat user, the server 106 can consult a data source 108 containing thepreference and retrieve his balance information in generating thepersonalized video content.

In some examples, the user profile can include various types ofinformation related to the user (e.g., demographics, finances,interests, etc.) and associated with a specific entity (e.g., FidelityInvestments.). The entity can be the same entity that distributes thevideo content. For example, the user could hold a Fidelity mutual fundaccount, and the user profile could contain information regarding theaccount. In other examples, the user profile can include informationfrom third-party sources such as, for example, credit card companies,banks, social networking websites, email services, etc. The user profilecan include information entered by the user and information retrievedfrom internal and/or external data sources. The user profile can beconfigurable by the user via a network application (e.g., a web page).The user could log in and update his user profile associated withdelivery of video content. For example, the user could log in to hisFidelity account page and he could see that his Fidelity account isassociated with two credit cards (e.g., one for his own use and one forhis wife's use). The user could configure his user profile to restrictthe display of personalized information so that only informationassociated with the credit card for his own use appears when he requestsvideo content.

After the server 106 retrieves the requested video content and thepersonalized information, the server 106 generates the personalizedvideo content by replacing one or more frames of the digital videocontent with the personalized information. FIG. 3 is a diagram 300 ofexemplary frame extraction and insertion for inserting personalizedinformation into digital content.

Generally, traditional video compression techniques operate using theconcept of ‘frames.’ A video content stream is usually divided up intoraw, uncompressed frames, which are then compressed by using analgorithm to identify and eliminate many of the redundant data betweenframes. The resulting compressed frame is then classified as a specifictype of frame. For example, the MPEG-2 compression protocol usesintra-coded frames (I-frame), predictive-coded frames (P-frames), andbidirectionally-predictive-coded frames (B-frames). When a media playeror other device receives the compressed video content, the playerapplies the reverse algorithm to restore each frame to substantially thesame as the corresponding raw frame in order to display the content.

Similar techniques can be associated with the claimed invention, asshown in FIG. 3. At time one, the server 106 has retrieved thepersonalized information and at least a portion of the requested videocontent stream 310. The server 106 can determine one or more videocontent frames 320 to remove from the video content stream. In someexamples, the server 106 can determine which video frames to removebased on considerations such as, for example, impact to the overallvideo quality, continuity of the video content, buffering capacity, orother similar considerations. In other examples, the video stream 310may have pre-assigned frames that can be extracted or ‘empty’ frames inwhich the server 106 can insert the personalized information.

Once the server 106 has removed the identified video frames 320, at timetwo the server 106 can convert the personalized information into frames340 that comply and/or can be integrated with a data compressionprotocol and insert the frames 340 at the locations in the video contentstream 330 where the video frames have been removed.

In some examples, the server 106 can also encrypt the personalizedinformation either before or after converting the information intoframes 340 and inserting the frames 340 into the video content stream330. Due to the sensitive nature of some types of personalized data suchas financial records, the server 106 can apply known encryptiontechniques to the personalized information so that a person whoinadvertently or purposefully intercepts the transmitted video contentcannot gain access to the personalized data contained therein. Theserver 106 can also use the authentication data received from the useras part of the data encryption techniques. The client computing device102 can receive the encrypted video content and subsequently decrypt thecontent for purposes of displaying the video and personalizedinformation to the user.

In some embodiments, as part of the receipt and display of videocontent, the server 106 can create an individualized session (or‘tunnel’) between itself and the client computing device 102. During thesession, the personalized video content is transmitted from the server106 to the client 102 in a streaming fashion, and the server 106 candynamically change the personalized data ‘mid-stream.’ For example, theuser could request video content associated with a financial newsnetwork. The server 106 can receive the request, retrieve the videocontent, and insert personalized data regarding news headlines forcompanies whose stock the user currently owns. The server 106 cantransmit the personalized video content to the client computing device102, creating a session. During playback of the video content, one ofthe stocks contained in the user's account could reach a certainbenchmark (e.g., reach a 52-week high price). The server 106 coulddetect this benchmark, and insert a price alert as personalized datainto the video content while the user is watching the content. When theprice alert reaches the client computing device 102, the device 102 nolonger displays the news headlines but instead displays the alert to theuser. In other examples, the device 102 could prompt the user forconfirmation before displaying the alert. If the user indicates that hedoes not want to view the alert, the server 106 would continue providingthe news headlines as personalized information. The technique ofdynamically changing personalized information during playback of thevideo content has the advantage of providing up-to-date information tothe user, creating a more useful and interesting video contentexperience.

In other examples, the server 106 can check the size and integrity ofthe data frames 340 placed into the video content stream 330. Exampledata integrity techniques known in the art, such as hashing, can be usedto perform the check.

FIG. 4 is a depiction of a media player 400 for display of personalizedvideo content on a client device (e.g., client computing device 102).The media player 400 can be a customized software application designedfor compatibility with the personalized video content. The media player400 includes a video content display area 402, and playback controlssuch as a play/pause button 404 a, a scrubber bar 404 b, a volumecontrol 404 c, and a time indicator 404 d (collectively playbackcontrols 404). The media player 400 also includes pop-in window area 406and a fly-out window area 408, preferably hidden from view when thevideo content playback begins. A pop-up window (not shown) that isseparate from the media player 400 can also be included. The pop-inwindow 406, fly-out window 408, and/or the pop-up window can be used todisplay the personalized information, as described in greater detailbelow.

FIG. 5 is a flow diagram of a method for displaying the personalizedvideo content to the user via a media player, e.g., media player 400.Once the server 106 has generated the personalized video content, theserver 106 transmits (502) the video content to a client computingdevice 102 associated with the requesting user. The client device 102displays the video content and personalized information to the user viathe media player 400 located on the client device 102. Upon receivingthe personalized video content for playback, the media player 400buffers (504) the content into a temporary storage buffer (e.g., amemory or other storage device located on the client device 102). Duringthe buffering process, the media player 400 analyzes (506) the frames ofthe personalized video content and determines the type of frame (e.g.,I-frame, P-frame, B-frame or personalized data frame). If the type offrame is associated with the video content, the media player 400decompresses (508) the frame back into the raw form so the frame can bedisplayed to the user and places the frame into the buffer. If the typeof frame is associated with the personalized information, the mediaplayer 400 extracts (510) the personalized information from the frameand stores the information in a storage device for use during playbackof the video content.

In some examples, the media player 400 receives the personalized videocontent from the server device 106 in an encrypted form. In otherexamples, only the frames in the personalized video content stream whichare associated with the personalized information are encrypted. Themedia player 400 can decrypt the personalized video content based on apredefined encryption algorithm. Decryption can also be performed by themedia player 400 in conjunction with authentication of the user. Forexample, the media player 400 can use authentication credentialsreceived from the user, the server device 106, and or retrieved from theclient device 102 as part of the decryption techniques. In otherexamples, the media player 400 can request the user to provideauthentication credentials before playback of the video content begins.In still other examples, the media player 400 can authenticate the userby communicating with the server device 106 to confirm the identity andauthorization of the user to view the requested content. The mediaplayer 400 can cancel playback of the requested video content ifauthentication of the user and/or decryption of the personalized videocontent is not successful. Alternatively, the media player 400 can limitor cancel display of only the personalized information if authenticationand/or decryption is not successful, and continue with playback of thevideo content stream.

When the media player 400 begins playback of the personalized videocontent, the video content stream is displayed in the video contentdisplay area 402. The user can manipulate the playback controls 404 toaffect the display or other characteristics of the video (e.g., volume).When the video completes, the user can opt to restart the video from thebeginning, or use the scrubber bar 404 b to ‘rewind’ the video to aspecific point.

During playback of the video content, the media player 400 can alsodisplay the personalized information. The media player 400 can use thepop-in window 406 to display a portion of the personalized informationwithin the boundaries of the video content display area 402. In someexamples, the pop-in window can completely obstruct the user's view ofthe video content. In other examples, the pop-in window 406 can betransparent or opaque, allowing the user to see the video contentunderneath. The pop-in window 406 can appear for a predetermined amountof time (e.g., ten seconds) before automatically disappearing, or thepop-in window 406 can appear continuously throughout the playback of thevideo until the user takes action (e.g., clicks a button in the mediaplayer 400 or presses a key on the client device 102) to remove thepop-in window 406. Once the pop-in window 406 is closed, a button canappear which allows the user to re-open the pop-in window. The pop-inwindow 406 can be triggered to appear based on a specific time referencepoint in the video content. For example, the media player 400 candisplay the personalized information in the pop-in window 406 when theelapsed time of the video content reaches, e.g., 02:25. In otherexamples, the pop-in window 406 can be triggered to appear based on thecurrently displayed video content.

In similar fashion, the media player 400 can use the fly-out window 408to display a portion of the personalized information outside of theboundaries of the video content display area 402. The fly-out window 408can appear at the top, bottom, or sides of the video content displayarea 402. The fly-out window can also appear somewhere else on thescreen not attached to the video player and/or in a separate window,like a pop-up window. The fly-out window 408 can have the samecharacteristics as the pop-in window 406 described above.

In other embodiments of the claimed invention, the server 106 canretrieve personalized data for a plurality of users and generate asingle personalized video content stream for transmission to theplurality of users. The server 106 can thereby avoid having to generatea personalized video content stream for each user in a group of usersrequesting the same video. FIG. 6 is a block diagram of a system 600 forinserting personalized information of a plurality of different usersinto digital content.

For example, User A 602 a and User B 602 b are both holders of shares ina particular mutual fund (e.g., Freedom Fund offered by FidelityCorporation). User A is associated with client computing device 604 aand User B is associated with client computing device 604 b. The clientcomputing devices 604 a and 604 b communicate with the server device606. In a case where the data is not confidential data, such as theperformance data of the Freedom Fund, this data is transmitted to bothUser A 602 a and User B 602 b in an unencrypted form and displayed toeach user in their corresponding video players as described above.

FIG. 7 is a method 700 for inserting personalized information of aplurality of different users into digital content. Upon logging in toFidelity's web site via communication with, e.g., the server device 606,the users 602 a and 602 b are each presented with a link to videocontent associated with the Freedom Fund. Both User A 602 a and User B602 b click the link to request (702) the video content 608 from theserver computing device 606. As described above, the server device 606can retrieve (704) the video content from a video server (e.g., videoserver 110) and the personalized information (e.g., current share value)from a data source (e.g., data source 108) for all persons holdingshares in the Freedom Fund. The server device 106 can generate (706)personalized video content 608 by replacing video frames from the videocontent with frames containing the personalized information of allpersons.

The server device 606 transmits the same personalized video contentstream 608 to each user 602 a and 602 b. In some examples, the usersreceiving the transmission may have all registered to receive a Webseminar on the Freedom Fund scheduled to be displayed at a specifictime. In other examples, the users receiving the transmission may haveall requested the transmission within the same time period, for example,all within 20 seconds of each other, and therefore receive thetransmission as a multicast transmission for ease of distribution. Whenthe content stream 608 is received by the respective client devices 604a and 604 b, the media player on each device extracts the personalizedinformation from the content stream 608. In some examples, the mediaplayer can determine the identity of User A 602 a by authenticating(708) User A based on credentials associated with User A. Once User A602 a is authenticated, the media player can extract only thepersonalized information associated with User A that is contained in thevideo content stream 608. In some examples, the media player can alsodecrypt (710) the personalized information using a decryption techniqueand based on the authentication credentials. Similarly, the media playeron the client device 604 b of User B 602 b can authenticate User B andextract only the personalized information associated with User B that iscontained in the video stream 608. Both User A 602 a and User B 602 bview the same requested video content, but according to the abovetechniques, each user 602 a and 602 b sees, for example, his or herpersonal current share value displayed and not the share value of anyother user during video playback. These techniques can be applied to anynumber of different users, affording the content provider a great dealof processing efficiency while still retaining the private nature of thepersonalized information.

The above-described systems and methods can be implemented in digitalelectronic circuitry, in computer hardware, firmware, and/or software.The implementation can be as a computer program product (i.e., acomputer program tangibly embodied in a computer readable storagemedium). The implementation can, for example, be in a machine-readablestorage device and/or include a propagated signal, for execution by, orto control the operation of, data processing apparatus. Theimplementation can, for example, be a programmable processor, acomputer, and/or multiple computers.

A computer program can be written in any form of programming language,including compiled and/or interpreted languages, and the computerprogram can be deployed in any form, including as a stand-alone programor as a subroutine, element, and/or other unit suitable for use in acomputing environment. A computer program can be deployed to be executedon one computer or on multiple computers at one site.

Method steps can be performed by one or more programmable processorsexecuting a computer program to perform functions of the invention byoperating on input data and generating output. Method steps can also beperformed by and an apparatus can be implemented as special purposelogic circuitry. The circuitry can, for example, be a FPGA (fieldprogrammable gate array), an ASIC (application-specific integratedcircuit), a DSP (digital signal processor), and/or any other discretecircuitry that is configured to implement the required functions.Modules, subroutines, and software agents can refer to portions of thecomputer program, the processor, the special circuitry, software, and/orhardware that implements that functionality.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor receives instructions and data from a read-only memory or arandom access memory or both. The essential elements of a computer are aprocessor for executing instructions and one or more memory devices forstoring instructions and data. Generally, a computer can include, can beoperatively coupled to receive data from and/or transfer data to one ormore mass storage devices for storing data (e.g., magnetic,magneto-optical disks, or optical disks).

Data transmission and instructions can also occur over a communicationsnetwork. Computer readable mediums suitable for embodying computerprogram instructions and data include all forms of non-volatile memory,including by way of example semiconductor memory devices. The computerreadable mediums can, for example, be EPROM, EEPROM, flash memorydevices, magnetic disks, internal hard disks, removable disks,magneto-optical disks, CD-ROM, and/or DVD-ROM disks. The processor andthe memory can be supplemented by, and/or incorporated in specialpurpose logic circuitry.

To provide for interaction with a user, the above described techniquescan be implemented on a computer having a display device or atransmitting device. The display device can be, for example, a cathoderay tube (CRT) and/or a liquid crystal display (LCD) monitor. Theinteraction with a user can be, for example, a display of information tothe user and a keyboard and a pointing device (e.g., a mouse or atrackball) by which the user can provide input to the computer (e.g.,interact with a user interface element). Other kinds of devices can beused to provide for interaction with a user. Other devices can be, forexample, feedback provided to the user in any form of sensory feedback(e.g., visual feedback, auditory feedback, or tactile feedback). Inputfrom the user can be, for example, received in any form, includingacoustic, speech, and/or tactile input.

The client device and the computing device can include, for example, acomputer, a computer with a browser device, a telephone, an IP phone, amobile device (e.g., cellular phone, personal digital assistant (PDA)device, smart phone, laptop computer, electronic mail device), and/orother communication devices. The browser device includes, for example, acomputer (e.g., desktop computer, laptop computer) with a world wide webbrowser (e.g., Microsoft® Internet Explorer® available from MicrosoftCorporation, Mozilla® Firefox available from Mozilla Corporation). Themobile computing device includes, for example, a Blackberry® or iPhone®.

The web servers can be, for example, a computer with a server module(e.g., Microsoft® Internet Information Services available from MicrosoftCorporation, Apache Web Server available from Apache SoftwareFoundation, Apache Tomcat Web Server available from Apache SoftwareFoundation).

The above described techniques can be implemented in a distributedcomputing system that includes a back-end component. The back-endcomponent can, for example, be a data server, a middleware component,and/or an application server. The above described techniques can beimplemented in a distributing computing system that includes a front-endcomponent. The front-end component can, for example, be a clientcomputer having a graphical user interface, a Web browser through whicha user can interact with an example implementation, and/or othergraphical user interfaces for a transmitting device. The components ofthe system can be interconnected by any form or medium of digital datacommunication (e.g., a communication network).

The system can include clients and servers. A client and a server aregenerally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

The above described communication networks can be implemented in apacket-based network, a circuit-based network, and/or a combination of apacket-based network and a circuit-based network. Packet-based networkscan include, for example, the Internet, a carrier Internet protocol (IP)network (e.g., local area network (LAN), wide area network (WAN), campusarea network (CAN), metropolitan area network (MAN), home area network(HAN)), a private IP network, an IP private branch exchange (IPBX), awireless network (e.g., radio access network (RAN), 802.11 network,802.16 network, general packet radio service (GPRS) network, HiperLAN),and/or other packet-based networks. Circuit-based networks can include,for example, the public switched telephone network (PSTN), a privatebranch exchange (PBX), a wireless network (e.g., RAN, bluetooth,code-division multiple access (CDMA) network, time division multipleaccess (TDMA) network, global system for mobile communications (GSM)network), and/or other circuit-based networks.

Comprise, include, and/or plural forms of each are open ended andinclude the listed parts and can include additional parts that are notlisted. And/or is open ended and includes one or more of the listedparts and combinations of the listed parts.

One skilled in the art will realize the invention may be embodied inother specific forms without departing from the spirit or essentialcharacteristics thereof. The foregoing embodiments are therefore to beconsidered in all respects illustrative rather than limiting of theinvention described herein.

1. A computerized method for displaying personalized video contentcomprising: receiving, by a digital media player, a personalized videocontent stream comprising personalized data associated with a user thatreplaces one or more frames of requested video content; extracting, bythe player, the personalized data from the one or more replaced framesof the video content stream; and displaying, by the player, thepersonalized data and the video content stream to a user.
 2. The methodof claim 1, wherein the personalized data is displayed to the userwithin the boundaries of an area displaying the video content stream. 3.The method of claim 2, wherein the personalized data is displayed in apop-in window associated with the media player.
 4. The method of claim1, wherein the personalized data is displayed to the user outside of theboundaries of an area displaying the video content stream.
 5. The methodof claim 4, wherein the personalized data is displayed in a fly-outwindow associated with the media player.
 6. The method of claim 4,wherein the personalized data is displayed in a separate pop-up windowassociated with the media player
 7. The method of claim 1, wherein theextracting comprises identifying one or more frames of the video contentstream containing the personalized data and decompressing, decrypting,or both, the personalized data according to a specialized compressionprotocol.
 8. A computerized system for displaying personalized videocontent comprising: a computing device with a digital media playerconfigured to: receive, by the player, a personalized video contentstream comprising personalized data associated with a user that replacesone or more frames of requested video content; extract, by the player,the personalized data from the one or more replaced frames of the videocontent stream; and display, by the player, the personalized data andthe video content stream to a user.
 9. A computerized system fordisplaying personalized video content comprising: means for receiving,by a digital media player, a personalized video content streamcomprising personalized data associated with a user that replaces one ormore frames of requested video content; means for extracting, by theplayer, the personalized data from the one or more replaced frames ofthe video content stream; and means for displaying, by the player, thepersonalized data and the video content stream to a user.
 10. A computerprogram product, tangibly embodied in a computer readable storagemedium, the computer program product including instructions operable tocause a data processing apparatus to: receive, by the data processingapparatus, a personalized video content stream comprising personalizeddata associated with a user that replaces one or more frames ofrequested video content; extract, by the data processing apparatus, thepersonalized data from the one or more replaced frames of the videocontent stream; and display, by the data processing apparatus, thepersonalized data and the video content stream to a user.